#include <bits/stdc++.h>
// 2025/01/28
// tag:
// Author: Zhang Muen
using namespace std;
#define int int64_t
int l, r;
bool is_prime[65536], is_prime2[1000001];

void get_prime()
{
    int r1 = int(sqrt(r) + 1);
    memset(is_prime, true, sizeof(is_prime));
    memset(is_prime2, true, sizeof(is_prime2));
    for (int i = 2; i <= r1; i++) {
        if (is_prime[i]) {
            for (int j = i * i; j <= r1; j += i)
                is_prime[j] = false;
            for (int j = l / i * i; j <= r; j += i)
                if (j != i && j >= l)
                    is_prime2[j - l] = false;
        }
    }
}

signed main()
{
    cin >> l >> r;
    get_prime();
    int cnt = 0;
    for (int i = 0; i <= r - l; i++) {
        if (is_prime2[i])
            cnt++;
    }
    if (l == 1)
        cnt--;
    cout << cnt;
    return 0;
}